package org.dicr.gui.res;

import java.awt.*;
import java.awt.image.*;
import java.net.*;

import javax.swing.*;

/***********************************************************************************************************************
 * @author Igor A Tarasov me@dicr.dn.ua
 * @version 021216
 **********************************************************************************************************************/
public class ResourceManager {
	/*******************************************************************************************************************
     * Устанавливает кнопке иконку из ресурса iconName. Если иконку установить не удалось, то устанавливает текст
     * defaultText. Также устанавливает toolTipText.
     ******************************************************************************************************************/
	public static AbstractButton setButtonReource(AbstractButton button, String iconName, String defaultText, String toolTipText) {
		try {
			button.setIcon(new ImageIcon(ResourceManager.class.getResource(iconName)));
		} catch (Exception ex) {
			button.setText(defaultText);
		}
		button.setToolTipText(toolTipText);
		return button;
	}

	/*******************************************************************************************************************
     * Возвращает иконку ресурсов
     ******************************************************************************************************************/
	public static Icon getIcon(String name) {
		URL iconURL = ResourceManager.class.getResource("icons/" + name);
		return (iconURL != null) ? new ImageIcon(iconURL) : null;
	}

	/*******************************************************************************************************************
     * Возвращает пустую иконку с заданным цветом
     ******************************************************************************************************************/
	public static Icon getEmptyIcon(int size) {
		BufferedImage image = new BufferedImage(size, size, BufferedImage.TYPE_INT_ARGB);
		Graphics g = image.getGraphics();
		g.setColor(new Color(0, 0, 0, 0));
		g.setPaintMode();
		g.fillRect(0, 0, size, size);
		ImageIcon icon = new ImageIcon(image);
		return icon;
	}
}
